<template>
    <div class="song-list">
    <!-- 歌单详情 -->
    <van-nav-bar
        title="歌单详情"
        left-text="返回"
        left-arrow
        @click-left="onClickLeft"
        />
        <div class="header">
            <img src="song.logo" alt="">
            <h4> {{song.dissname}} </h4>
            <div class="nick">
                <img src="song.headurl" alt="">
                <span>{{song.nickname}}</span>
    </div>
    <span>播放量:{{song.visitnum|numFilter(1)}}</span>
    </div>
    <div class="list">
        <van-list
        v-model="loading"
        :finished="finished"
        finished-text="没有更多了"
        @load="onLoad"
        >
        <div v-for="(item,index) in list" :key="index" :title="item" class="song">
            <h3>{{item.songname}}</h3>
            <div class="singers">
                <span v-for="(singer,index) in item.singer" :key="singer.id">
                    {{singer.name}}
                    <span v-show="index!=item.singr.length-1">/</span>
                </span>
                <span v-show="item.albuxmname">
                    <span>.</span>
                    <span>{{item.ablumname}}</span>
                </span>
            </div>
        </div>
        </van-list>
</div>
</template>
<script>
export default {
    data(){
        return{
            song:{
                dissname:"",//标题
                logo:"",//歌单logo
                headurl:"",//歌单制作作者头像
                nickname:"",//歌单制作者昵称
                visitnum:"",//歌单播放量
            },
            songlist:[],//歌曲列表
            songnum:0,//歌曲列表数目
            list: [],//vant的list列表数据
            loading:false,
            finished:false,
        };
    },
    created(){
        this.getListData()
    },
    methods:{
        getListData(){
            this.$request('get','/songlist?id='+this.$router.params.id)
            .then((res)=>{
                console.log(res)
                this.song.dissname = res.data.dissname
                this.song.logo = res.data.logo
                this.song.headurl = res.data.headurl
                this.song.nickname = res.data.nickname
                this.song.visitnum = res.data.visitnum
                this.songlist = res.data.songlist;//获取歌曲列表信息
                thsi.songnum = res.data.songnum;//获取歌曲数目
            }
            );
        },
        onClickLieft(){
            //如果历史记录大于1，那么返回到上一层，如果历史记录小于等于1，返回到跟路由
            window.history.length>1 ? this.$router.go(-1) : this.$router.push('/')
        }
    },
    onLoad(){
        setTimeout(()=>{
            //注意splice和slice方法的差异
            this.list = this.list.concat(this.songlist.splice(0,10))
            //console.log(this.list);

            //加载状态结果
            this.loading = false;

            //数据全部加载完成
            if (this.list.length >= this.songnum){
                this.finished = true;
            }
        },10000);
    },
    filters:{
        //处理播放量的显示格式
        /**
         * param num:小数位固定的位数
         * param value:处理的数值
         */
        numFilter(value,num){
            //把小数位固定为num位
            return parseFloat(value/10000).toFixed(num)
        }
    }
};
</script>
<style scoped>
.header > img{
    width: 50%;
    border-radius: 1rem;
}
.nick{
    overflow: hidden;
}
.nick>img{
    width: 1.5rem;
    border-radius: 50%;
    margin-right: 0.5rem;
}
.nick > span{
    height: 2rem;
    display: inline-block;
    vertical-align: middle;
    font-size: 0.8rem;
}
.header >span {
    font-size:0.9rem
    }
.singers>span:nth-lat-child(1)>span:nth-child(1){
    margin: 0 0.3rem;
    font-weight: 900;
    color: red;
}
</style>
